1. Field of the Invention
The present invention relates to software development and more particularly to software testing and test automation.
2. Description of the Related Art
The art of software development extends far beyond a mere coding of a functional specification for a computer program. Modern software development conforms to a lifecycle that begins with the functional specification leading into the formulation of a suitable architecture for an application implementing the functional specification. The lifecycle continues with the physical coding of the application and includes iterative testing and modification cycles to ensure the integrity of the code. Finally, the execution of the completed code can be analyzed to facilitate the further revision of the code to improve the performance of the code.
Traditional testing of a computer program can include the external monitoring of the integrity of the program and the performance of the program, either subjectively based upon end user impression, or objectively based upon independently acquired metrics. In the latter circumstance, the integrity of the program can include the simulation of user interaction with the user interface of the program to ensure the proper operation of the program logic. Likewise, the performance of the program can include an internal monitoring of the code through software test tooling as is known in the art.
Often, to test an application, testing personnel must establish and configure a testing environment. Within the testing environment, a test protocol or test plan can be defined for exercising a computing application. The individual steps and portions of the testing plan, in turn, can be automated through operating system scripts, batch files and the like. In this regard, for a test plan, a typical test cycle can include multiple phases that test a system according to different test cases in order to produce test results to be analyzed and illustrated in assessment reports.
Of note, successful test management requires careful coordination amongst testers and testing teams to ensure activities remain on track and deliverables are met with desired quality. The numerous artifacts associated with test management activities including the test plans, test cases, execution records, defects, assessment reports and the like, often are stored across disparate systems. One substantial inhibitor to efficiency in test management is the ability to find related data. Many hours are spent correlating test cases to requirements and defects to results. Modern test management systems attempt to do this type of correlation and search. However, in most cases the search is manual and time consuming.